Cockpit - #2
Conversation
… dividing by mitosis
…e atom; scene harness; handoff with prunable delivered-work blocks
There was a problem hiding this comment.
🟡 Changes recommended
It introduces a few verified correctness/documentation mismatches (template count in README, desynced lamp flare math vs shader, and black-hole easing inconsistency with stated upstream behavior) that should be addressed before approval.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This pull request expands the scene registry and bundled templates to include two new procedural scenes (“Nature’s Tomb” and “Miracle Mile”), and updates project documentation/registry metadata to reflect the new totals. It also adds an offscreen Electron-based scene harness for validating scene compilation/perf/stills without launching the full app, and updates “Will I Dream”’s black-hole implementation to match a referenced CodePen lens model.
Changes:
- Add two new scenes (
naturestomb,miraclemile) and register them in the engine scene registry. - Add two new bundled
.swaytemplates and update docs/registries/counts accordingly. - Add a scene harness + handoff pruning scripts to support faster verification workflows.
File summaries
| File | Description |
|---|---|
| src/renderer/engine/scenes/willidream.js | Reworks black-hole lens/shading and associated uniforms/state. |
| src/renderer/engine/scenes/naturestomb.js | Adds the new “Nature’s Tomb” scene implementation. |
| src/renderer/engine/scenes/miraclemile.js | Adds the new “Miracle Mile” scene implementation (multi-act system). |
| src/renderer/engine/scenes/index.js | Registers the two new scenes in the scene module list/exported registry. |
| scripts/scene-harness.js | Adds a Node/Electron harness runner to render scenes offscreen from a plan file. |
| scripts/scene-harness.entry.js | Adds the browser-side harness runtime bundled into the hidden Electron window. |
| scripts/handoff-prune.js | Adds a helper to prune approved blocks out of HANDOFF.md. |
| README.md | Updates high-level feature summary counts for scenes/templates. |
| projects/templates/natures-tomb.sway | Adds a new bundled project template for Nature’s Tomb. |
| projects/templates/miracle-mile.sway | Adds a new bundled project template for Miracle Mile. |
| projects/templates/index.json | Adds the new templates to the template menu order. |
| HANDOFF.md | Updates internal handoff documentation and introduces prune-block workflow. |
| docs/SCENE_CONTRACT.md | Updates registry count and inventory entries for new scenes + raw knob usage notes. |
| docs/PROJECTS.md | Updates bundled template count and adds the new templates to the template table. |
| docs/OVERVIEW.md | Updates cockpit overview to reflect the expanded 17-scene registry. |
| docs/ENVIRONMENT.md | Updates env var documentation for scene to include the two new ids. |
| docs/ENGINE.md | Updates engine docs to reflect 17 scenes and updated registry order. |
Review details
- Files reviewed: 17/17 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| - Seventeen procedural visual scenes, each driven by audio analysis and gesture input, rendered with three.js on WebGL2 — every shader GLSL3, no autonomous rotation anywhere. | ||
| - Projects as `.sway` files: one JSON document carrying palette, engine settings, effects snapshot, synth patch, linked media, kit, timeline, and every control assignment. Save, open, and recent files live in the project menu; ten bundled templates (three tuned to pair with Audima's official Ableton demo packs — Garage, DNB, Hip Hop) provide starting points. | ||
| - A timeline with an audio lane (waveform clips scheduled sample-accurately on the audio clock) and a visual lane (scene clips with per-clip cut or fade entry), plus loop region, locators, and scrubbing. |
| disk = approach(disk, diskT, 0.12, dt); | ||
| lensE = approach(lensE, lensT, 0.08, dt); | ||
| swallow = approach(swallow, swallowT, 0.06, dt); | ||
| mass = approach(mass, massT, 0.25, dt); // the pen eases cur toward target 3 % per frame |
| if (a < 0) return 1; | ||
| const d = Math.sqrt(LAMP_X * LAMP_X + LAMP_H * LAMP_H + (lz - GZ_Z) * (lz - GZ_Z)); | ||
| const passed = d <= rs ? 1 : 0; | ||
| const flare = passed * Math.exp(-(rs - d) / (BLAST_V * 0.12)) * 3; |
This pull request updates the SwayCommand documentation and template registry to add two new scenes, "Nature's Tomb" and "Miracle Mile." It also updates the feature and template counts, expands the scene registry from fifteen to seventeen, and documents new knob assignments for the added scenes.
Scene and Template Additions:
naturestomb("Nature's Tomb") andmiraclemile("Miracle Mile"), to the scene registry, increasing the total from fifteen to seventeen. [1] [2] [3] [4] [5]natures-tombandmiracle-mile, to the bundled.swaydocuments, increasing the template count and updating their descriptions and order in the project menu. [1] [2] [3]Documentation Updates:
These changes ensure the documentation and template registry accurately reflect the expanded feature set and provide users with up-to-date information about scene and template options.